منابع مشابه
A Model of Transactional Programming
There has been a lot of recent research on transaction-based concurrent programming, aimed at offering an easier concurrent programming paradigm that enables programmers to better exploit the parallelism of modern multi-processor machines, such as multi-core microprocessors. We introduce Transactional State Machines (TSMs) as an abstract finite-data model of transactional shared-memory concurre...
متن کاملThe ATOMOΣ Transactional Programming Language
Atomos is the first programming language with implicit transactions, strong atomicity, and a scalable multiprocessor implementation. Atomos is derived from Java, but replaces its synchronization and conditional waiting constructs with simpler transactional alternatives. The Atomos watch statement allows programmers to specify fine-grained watch sets used with the Atomos retry conditional waitin...
متن کاملGeneric Programming Needs Transactional Memory
Locks are the most widely used synchronization mechanism for threads. It is well-known that naive use of locks can easily lead to program failures through deadlock. Such deadlock is usually avoided through careful lock ordering. We argue that this approach is incompatible with several increasingly important programming practices that rely on libraries invoking (“calling-back”) essentially unkno...
متن کاملProgramming Idioms for Transactional Events
Abstract Transactional events (TE) are an extension of Concurrent ML (CML), a programming model for synchronous message-passing. Prior work has focused on TE’s formal semantics and its implementation. This paper considers programming idioms, particularly those that vary unexpectedly from the corresponding CML idioms. First, we solve a subtle problem with client-server protocols in TE. Second, w...
متن کاملFunctional Programming 1 Transactional Events : Technical Appendix ∗
Lemma 11 If {〈θ1, e1〉, . . . , 〈θk, ek〉} {〈θ1, e1〉, . . . , 〈θk, ek〉} according to the semantics of Figure 3, the set of trails {〈θ1, ρ1〉, . . . , 〈θk, ρk〉} is committable, and P is a set of search threads, each with a thread identifier in {θ1, . . . , θk}, then {〈θ1, e1, ρ1〉, . . . , 〈θk, ek, ρk〉}]P − → {〈θ1, e1, ρ1〉, . . . , 〈θk, ek, ρk〉}]P ′ according to the semantics of Figure 9, the set of...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
ژورنال
عنوان ژورنال: Communications of the ACM
سال: 2014
ISSN: 0001-0782,1557-7317
DOI: 10.1145/2541883.2541900